#!usr/bin/env node

//setInterval() 方法接受两个参数：
//fn：要周期性执行的函数。
//interval：执行的时间间隔，以毫秒为单位。
//此外，setInterval() 还可以接受更多的参数，
//这些参数将会被传递给 fn 函数。

//取消定时方法一：
// console.log("start!");

// let timeId = setInterval(loop, 500);

// function loop() {
//   console.log("I will loop forever!");
// };

// //取消定时器
// setTimeout(function () {
//   clearInterval(timeId);
// }, 3000)

//取消定时方法二：
// console.log("start!");

// let count = 0;

// let timeId = setInterval(loop, 500);

// function loop() {
//   count++;
//   console.log("I will loop forever!");

//   if (count === 6) {
//     clearInterval(timeId);
//   }
// };

//取消定时方法三：
// console.log("start!");

// let timeId = setInterval(loop, 500);
// timeId.unref();

// function loop() {
//   console.log("I will loop forever!");
// };

// setTimeout(function () {
//   console.log("Game over!");
// }, 5000);


// 创建两个定时器：timer1 和 timer2
// 两个定时器都是 500 ms 触发一次定时任务
// timer1 启动后，倒计时 5s 结束 timer1 并启动 timer2
// timer2 定时任务执行 5 次后退出

//设置定时器的间隔时间500ms
const interval = 500;

//创建定时器1
let timer1 = setInterval(() => {
  console.log('Timer 1 tick');
}, interval);

//启动一个计时器，5秒后停止timer1并启动timer2
setTimeout(() => {
  clearInterval(timer1);
  console.log('Timer 1 stopped.Starting Timer 2.');

  //创建定时器2
  let timer2 = setInterval(() => {
    console.log('Timer 2 tick');
  }, interval);

  //让timer2执行5次后停止
  setTimeout(() => {
    clearInterval(timer2);
    console.log('Timer 2 stopped after 5 ticks.');
  }, 5 * interval);
}, 5000)





